/*********************************************************************
 *  Nome : Bruno Ferrero                             N.USP 3690142
 *  Nome : Mariana Pacheco Hatamura                  N.USP 4906967 
 *  Nome : Tiago Nicolosi Bomventi                   N.USP 3690177 
 *  Curso: BCC                                 Disciplina: MAC 211
 *  Data : 5/5/2010                       Exercic. Projeto(parte 1)
 *  Compilador utilizado : gcc versao 4.1.2
 *  ******************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "item.h"
#include "fisica.h"
#include "oceano.h"

int main (int argc, char *argv[]) {
    float freq, velMedia;
    int long semente;

    /*argumentos de entrada*/
    if (argc == 2) {
        freq = atof (argv[1]);
        velMedia = 1;
        srand (time (NULL));
    }
    else if (argc == 3) {
        freq = atof (argv[1]);
        velMedia = atof (argv[2]);
        srand (time (NULL));
    }
    else if (argc == 4) {
        freq = atof (argv[1]);
        velMedia = atof (argv[2]);
        semente = atoi (argv[3]); 
        srand (semente);
    }
    /*parametros default*/
    else {
        freq = 0.5;
        velMedia = 1;
        srand (time (NULL));
    }

    setFreqGeraPassageiro (freq);
    setMediaDaVelocidadeGerada (velMedia,0.5);
    limpaOceano ();
    inicializaVetorNaufragos ();
    populaCoral (20);
    populaNaufragos (60);
    /*limpaJanela();
      imprimeOceano ();
      incrementaTempo(1);*/
    printf ("<pressione ENTER para comecar>\n");
    while (getchar() != 'e' && numNaufragosNoVetor() > 0) {
        limpaJanela ();
        printf ("Tempo = %d\n", getTempo ());
        imprimeOceano ();
        calculaProximoEstadoNaufragos ();	
        iteracaoParaProximoPasso ();
        frequenciaGeracaoNaufrago ();
        incrementaTempo (1);
        printf ("<pressione 'e' para sair da simulacao>\n");
    }
    return 0;
}
